// VideoCodec.h: interface for the CVideoCodec class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_VIDEOCODEC_H__9735472C_BB7F_42C7_925B_1BA463FF7619__INCLUDED_)
#define AFX_VIDEOCODEC_H__9735472C_BB7F_42C7_925B_1BA463FF7619__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "stdio.h"
#include "string.h"
#include "VideoCodec.h"
#include "AVCodec.h"
class CVideoCodec  
{
public:

	CVideoCodec();
	virtual ~CVideoCodec();

	virtual int Init();
	virtual int encode(void* inbuf, int buf_size, void *data);
	virtual int decode(void* outdata, int outdata_size,void* inbuf, int inbuf_size);
	virtual int close(void* outdata, int outdata_size);
	virtual int flush();

	int GetStatus();
	int GetParam();
	int SetParam(AVCodecParam* param);



protected:
	AVCodecParam m_Param;
	AVCodecStatus m_Status;


};

#endif // !defined(AFX_VIDEOCODEC_H__9735472C_BB7F_42C7_925B_1BA463FF7619__INCLUDED_)
